home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / mixisam / istest3.c < prev    next >
C/C++ Source or Header  |  1991-10-16  |  2KB  |  74 lines

  1. /*  ISAM Test Program #3, by Ron Ruffin.  This program will test our edit
  2.     library functions, and will use the database created in the first istest
  3.     program.     */
  4.  
  5. #include "rarisam.c"
  6. char name[21] = " ";
  7. char phone_area[4] = " ";
  8. char phone_exchange[4] = " ";
  9. char phone_body[5] = " ";
  10. Db_Obj *phone_database;
  11. Index_Obj *phone_index;
  12. char *phone_format[] = {
  13.     "name",
  14.     "area code",
  15.     "exchange",
  16.     "body number",
  17.     NULL
  18. };
  19.  
  20. char *phone_index_format[] = {
  21.     "name",
  22.     NULL
  23. };
  24.  
  25.  
  26. main()
  27. {
  28.     isam_open(&phone_database, "phone", &phone_index, "name");
  29.     isam_search(phone_database, phone_index, "Dean");
  30.     move_data_to_fields();
  31.     clear_screen();
  32.     display_field(5, 0, 8, "NAME ", &name, NON_KEY);
  33.     display_field(6, 0, 3, "PHONE ", &phone_area, NON_KEY);
  34.     display_field(6, 9, 3, "-", &phone_exchange, NON_KEY);
  35.     display_field(6, 13, 4, "-", &phone_body, NON_KEY);
  36.     edit_screen_data(KEY_YES);
  37.     clear_screen();
  38.     printf("NAME %s, PHONE %s-%s-%s\n",name, phone_area, phone_exchange, phone_body);
  39.     isam_close(phone_database);
  40. }
  41.  
  42.  
  43. move_data_to_fields()
  44. {
  45.     strcpy(name, *(fields + 0));
  46.     strcpy(phone_area, *(fields + 1));
  47.     strcpy(phone_exchange, *(fields + 2));
  48.     strcpy(phone_body, *(fields + 3));
  49. }
  50.  
  51.  
  52. test_edit_array()
  53. /*  This temporary function provides a test which prints out the edit_array
  54.     values.  It is intended for use after all the display_field commands have
  55.     been issued.      */
  56. {
  57.     int array_element;
  58.     FILE *printer_file;
  59.     printer_file = fopen("lpt1", "w");
  60.     fprintf(printer_file, "              edit_array values\n\n");
  61.     fprintf(printer_file, "    Start row    Start col    Length    Address    \
  62. Key status\n");
  63.     for (array_element = 0; array_element < 20; array_element++) {
  64.         fprintf(printer_file, "      %d       %d          %d         %d       \
  65.    %d\n", edit_array [array_element] [0], edit_array [array_element] [1],
  66.             edit_array [array_element] [2], edit_array [array_element] [3],
  67.                 edit_array [array_element] [4]);
  68.     };
  69.     fprintf(printer_file, "      current_edit_field = %d\n",
  70.         current_edit_field);
  71.     fprintf(printer_file, "\f");
  72.     fclose(printer_file);
  73. }
  74.